package org.jeecg.modules.zcgl.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.system.controller.SysDictController;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 固定资产
 * @Author: jeecg-boot
 * @Date: 2021-06-30
 * @Version: V1.0
 */
@Data
@TableName("zcgl_asset_fixed")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "zcgl_asset_fixed对象", description = "固定资产")
public class AssetFixed {
    /**
     * 所属单位
     */
//	@Excel(name = "所属单位", width = 15,dictTable = "zcgl_asset_fixed_category",dicCode = "id",dicText = "name")
    @ApiModelProperty(value = "所属单位")
    @Dict(dictTable = "zcgl_asset_fixed_category", dicCode = "id", dicText = "name")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @Excel(name = "库房名称", width = 15,dictTable = "zcgl_asset_fixed_category", dicCode = "id", dicText = "name")
    private String assetFixedCategoryId;

    /**
     * 产品名称
     */
    @Excel(name = "物资名称", width = 15)
    @ApiModelProperty(value = "物资名称")
    private String name;
    @Dict(dicCode = "dysy_zcgl_asset_type")
    @Excel(name = "物资分类", width = 15, dicCode = "dysy_zcgl_asset_type")
//	@Excel(name = "资产类型", width = 15, dictTable = "zcgl_asset_category", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "物资分类")
    private String assetType;



    @ApiModelProperty(value = "小分类")
    @Dict(dicCode = "dysy_bgyp_type")
    @Excel(name = "办公用品子分类", width = 15, dicCode = "dysy_bgyp_type")
    private String bgypType;

    @ApiModelProperty(value = "小分类")
    @Dict(dicCode = "dysy_chwz_type")
	@Excel(name = "存货物资子分类", width = 15,dicCode = "dysy_chwz_type")
    private String chwzType;


    /**
     * 编码
     */
    @Excel(name = "物资编码", width = 15)
    @ApiModelProperty(value = "物资编码")
    private String code;


    /**
     * 规格型号
     */
    @Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String specifications;
    /**
     * id
     */
    @TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "id")
    private String id;




    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    @Dict(dicCode = "zcgl_dw")
    @Excel(name = "单位", width = 15, dicCode = "zcgl_dw")
    private String unit;


    /**
     * 数量
     */
    @ApiModelProperty(value = "数量")
    @Excel(name = "数量", width = 15)
    private BigDecimal amount;
    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    @Excel(name = "单价", width = 15)
    private java.math.BigDecimal price;
    /**
     * 库存预警界限
     */
    @ApiModelProperty(value = "安全库存")
    @Excel(name = "安全库存", width = 15)
    private Integer jiexian;

    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;





    /**
     * 合价
     */
    @ApiModelProperty(value = "合价")
    private java.math.BigDecimal total;
    /**
     * 采购日期
     */
//	@Excel(name = "采购日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "采购日期")
    private Date purchaseDate;
    /**
     * 图片
     */
//	@Excel(name = "图片", width = 15)
    @ApiModelProperty(value = "图片")
    private String image;
    /**
     * 材质说明
     */
    @ApiModelProperty(value = "材质说明")
    private String description;
    /**
     * 楼层
     */
    @ApiModelProperty(value = "楼层")
    private String floor;
    /**
     * 尺寸
     */
    @ApiModelProperty(value = "尺寸")
    private String assetSize;
    /**
     * 款式
     */
    @ApiModelProperty(value = "款式")
    private String assetStyle;
    /**
     * 技术参数
     */
    @ApiModelProperty(value = "技术参数")
    private String technicalParameters;
    /**
     * 品牌
     */
    @ApiModelProperty(value = "品牌")
    private String brand;
    /**
     * 所属单位
     */
//	@Excel(name = "所属单位", width = 15)
    @ApiModelProperty(value = "所属单位")
    @Dict(dicCode = "subordinate_units")
    private String subordinateUnits;
    /**
     * 状态 0-未生效 1-生效 2-借出 3-维修中 4-报废
     */
    @ApiModelProperty(value = "状态")
    @Dict(dicCode = "asset_fixed_status")
    private String status;


    /**
     * createBy
     */
    @ApiModelProperty(value = "createBy")
    private String createBy;
    /**
     * createTime
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
    private Date createTime;
    /**
     * updateBy
     */
    @ApiModelProperty(value = "updateBy")
    private String updateBy;
    /**
     * updateTime
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
    private Date updateTime;

    /**
     * 采购部门
     */
    @ApiModelProperty(value = "采购部门")
    private String purchasingDepartment;

    /**
     * 原值
     */
    @ApiModelProperty(value = "原值")
    private BigDecimal originalCost;

    /**
     * 累计折扣
     */
    @ApiModelProperty(value = "累计折扣")
    private BigDecimal accumulativeDiscount;

    /**
     * 净残值率
     */
    @ApiModelProperty(value = "净残值率")
    private BigDecimal residualValueRate;

    /**
     * 净残值
     */
    @ApiModelProperty(value = "净残值")
    private BigDecimal residualValue;

    /**
     * 折旧方法
     */
//	@Excel(name = "折旧方法", width = 15,dicCode = "depreciation_method")
    @ApiModelProperty(value = "折旧方法")
    @Dict(dicCode = "depreciation_method")
    private BigDecimal depreciationMethod;

    /**
     * 月折旧率
     */
    @ApiModelProperty(value = "月折旧率")
    private BigDecimal monthDepreciationRate;

    /**
     * 月折旧额
     */
    @ApiModelProperty(value = "月折旧额")
    private BigDecimal monthDepreciation;

    /**
     * 预计使用年限
     */

    @ApiModelProperty(value = "预计使用年限")
    private Integer expectedServiceLife;


    /**
     * 删除"
     */

    @ApiModelProperty(value = "删除")
    private Integer delFlag;

    /**
     * 理论上数量
     */
    @TableField(exist = false)
    private BigDecimal trueCount;
    /**
     * 流程中数量
     */
    @TableField(exist = false)
    private BigDecimal lcCount;

    /**
     * 安全表示
     */
    @TableField(exist = false)
    private String safeType;


    /**
     * 仓库名字
     */
    @TableField(exist = false)
    private String ckName;


}
